// import com.alibaba.druid.sql.SQLUtils;
// import com.alibaba.druid.sql.ast.SQLDataType;
// import com.alibaba.druid.sql.ast.SQLObjectImpl;
// import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
// import com.alibaba.druid.sql.visitor.SQLASTOutputVisitor;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "../../../ast/SQLObjectImpl.h"
#include "OracleSQLObject.h"

class OracleSQLObjectImpl : virtual public SQLObjectImpl, virtual public OracleSQLObject
{
public:
  OracleSQLObjectImpl();
  SHAREDOBJECT(OracleSQLObjectImpl) ;
  // @Override
  void accept0(SQLASTVisitor_ptr v);

  void accept0(OracleASTVisitor_ptr visitor);

  SQLObject_ptr clone();

  SQLDataType_ptr computeDataType();

  string_ptr toString();
};
